#include "stm32f10x.h"                  // Device header
#include "Delay.h"
#include "OLED.h"
#include "MyI2C.h"
#include "MPU6050.h"
//#include "OLED_Font.h"
//软件I2C读写MPU6050

int16_t AX,AY,AZ,GX,GY,GZ;

int main(void){
	OLED_Init();
	MPU6050_Init();
//	MyI2C_Start();
//	//根据通信协议，第一个内容必须是从机地址+读写位
//	MyI2C_SendByte(0xD0); //1101 000  0  :MPU6050的地址+读写位 
//	uint8_t Ack=MyI2C_ReceiveAck();
//	MyI2C_Stop();
//	OLED_ShowNum(1,1,Ack,3);
//	//返回000，符合说明MPU应答了，对此可以对其他的从机进行扫描（扫7位），返回为0的做记录。
//	
	
//	//读MPU的寄存器
//	uint8_t ID=MPU_ReadingReg(0x75);//MPU手册中0x75：芯片的ID号
//	OLED_ShowHexNum(1,1,ID,2);
	
//	//写寄存器，需要先把寄存器的睡眠模式关了，否则无效，相关位置在电源管理器寄存器1的0x6B处
//	MPU_WriteReg(0x6B,0x00);
//	
//	MPU_WriteReg(0x19,0xAA);
//	uint8_t ID=MPU_ReadingReg(0x19);
//	OLED_ShowHexNum(1,1,ID,2);

// 	目前就是相当于存储器的读和写的操作，对于寄存器是与外部设备相关的
	

	while(1){
		MPU_Getdata(&AX, &AY, &AZ, &GX, &GY, &GZ);		//获取MPU6050的数据
		OLED_ShowSignedNum(2, 1, AX, 5);					//OLED显示数据
		OLED_ShowSignedNum(3, 1, AY, 5);
		OLED_ShowSignedNum(4, 1, AZ, 5);
		OLED_ShowSignedNum(2, 8, GX, 5);
		OLED_ShowSignedNum(3, 8, GY, 5);
		OLED_ShowSignedNum(4, 8, GZ, 5);
	}
}
